﻿#pragma once

namespace Hazal
{
	class CUniformBuffer
	{
	public:
		CUniformBuffer() {}

		virtual ~CUniformBuffer() {}

	public:
		virtual void Bind() const = 0;

		virtual void Unbind() const = 0;

		virtual void SetData(const void* pData, uint32_t unSize, uint32_t unOffset = 0) = 0;

	public:
		static Ref<CUniformBuffer> Create(uint32_t unSize, uint32_t unBinding);
	};
}
